Universal Links 通用链接

自 iOS9 就有了这么一个神奇的 Universal Links,通过识别HTTP链接启动APP 而不用再添加URL Schemes实现简单的程序间跳转,比如经常见的是在微信的web页中跳转到相应的APP。至此,由于产品需求需要实现在任何网页都支持跳转到APP才发掘这个功能,在写demo的过程中也遇到了一些坑

配置

首先,我们需要在Xcode的Capabilities配置中打开Associated Domains项,设置我们需要跳转的域名条件,可以设置多个。如图:

除了在Xcode中设置关联的域名之外,还有更重要的一步是在SSL证书被认证的域名根目录下存放一个名为apple-app-site-association的JSON格式文件。如图:

details中两个字段需要配置成我们需要的信息,appID H3F25LDX4E.com.association.demo,其中H3F25LDX4E是我们Team ID可以在这里获取

后面的com.association.demo很显然就是自己项目的bundle id了。paths里设置要识别的路径列表,如果识别所有路径的话使用 “ * “

实现代理



如果userActivity.activityType是NSUserActivityTypeBrowsingWeb类型的话,说明是走的通用链接,这时 webURL是有值的,之后在APP中将内容显示给用户即可。